package com.xhh.learning.record.algorithm.string;

/**
 * 类名： BfMatch
 * 描述：
 * 公司： 北京海鑫科金高科技股份有限公司
 * 作者： Administrator
 * 版本： V1.0
 * 创建时间:  2019/5/10 9:27
 * 最后修改时间:  2019/5/10 9:27
 */
public class BfMatch {

    public static void main(String[] args) {
        String str = "abcacabcbcbacabc";
        String pStr = "abcbc";

        int bf = bf(str, pStr);
        System.out.println(bf);
    }

    private static int bf(String str, String pStr) {
        if (str==null || "".equalsIgnoreCase(str.trim()) || pStr==null || "".equalsIgnoreCase(pStr.trim())) {
            return -1;
        }

        char[] strArr = str.toCharArray();
        char[] pArr = pStr.toCharArray();
        for (int i = 0; i < strArr.length-pArr.length; i++) {
            int j = 0;
            int k = i;
            while (j < pArr.length && pArr[j]==strArr[k]){
                j++;
                k++;
            }

            if (j == pArr.length) {
                return i;
            }
        }
        return -1;
    }
}

